package com.dmz.workflow.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dmz.workflow.base.BaseService;
import com.dmz.workflow.dto.OneHourAlert;
import com.dmz.workflow.entity.StaffInfo;

import java.util.List;

public interface WorkflowNodeExtService extends BaseService<StaffInfo> {

    List<StaffInfo> selectListByProcessInstanceIdAndNodeType(String processInstanceId, String nodeType);

    StaffInfo selectPersonalNode(StaffInfo staffInfo);

    int updateNodeExtByProcessInstanceIdAndNodeId(StaffInfo staffInfo);

    int updateNodeExtCaseRefuseOperation(String processInstanceId);

    IPage<StaffInfo> selectDuplicatePage(String memberId, Integer pageSize, Integer pageNum, String keyword, Boolean isUnread, String nodeType);

    int updateCcReadStatusByStatus(String[] processInstanceIds, Integer memberId);

    int markAllRead(Integer memberId);

    int updateBatchTaskId(List<StaffInfo> staffInfos);

    List<StaffInfo> selectListByProcessInstanceIdAndNodeId(String processInstanceId, List<String> nodeIds);

    List<OneHourAlert> selectStaffListToInformToApprove();

    List<Object> selectProcessInvolvedMembers(String processInstanceId);

    StaffInfo selectPersonalNodeApprovingNum(StaffInfo staffInfo);
}
